Nowadays, service provision over distributed networks plays an integral part of daily life. Many households and businesses utilize one or more services that are provided over such networks. Examples of such services include Internet, TV, IP telephony and so on. Such services typically need to be deployed over the network by reconfiguring parts of the network to facilitate a requested service. This, however, is not without problems.
For instance, between checking if a network resource is available for the provisioning of the requested service and the actual deployment of the service, a supposedly available resource may have been used, which consequently results in a failed deployment of the requested service. This is highly undesirable, as customers can quite easily become dissatisfied with a service provider because of a perceived lack of reliability. It furthermore compromises the efficiency of the operations of the service provider, as it requires additional cost to rectify such deployment failures that cannot be passed onto the end user.
In order to improve the planned provisioning of a requested service, such a requested service may be mapped onto an abstract representation of the network resources, which may contain reservation tables for available resources. This however does not prevent selected resources becoming unavailable, as reserved resources can be consumed by another (unscheduled) service deployment in the time period between reservation and deployment of the reserved service. Moreover, due to the diversity of vendor specific configuration implementations, such tables tend to be normalized, i.e. abstracted from bespoke configurations. This means that not all the configuration items of the requested service may be identified at a detailed enough level to reliably reserve all the required aspects of the service. Consequently, this approach also suffers from a high degree of deployment failures due to the fact that the abstraction level in the provisioning model means that certain implementation details of the service are unavailable in the model for reservation, such that during deployment of the service by a service engineer in the field, it may be discovered that these implementation details cannot be realized, e.g. due to unavailability.
US 2006/0075102 A1 discloses a method for provisioning a service on a communication network including receiving a service order comprising a service request. The service request relates to a service provided on a communication network. The method includes analyzing the service order to determine a plurality of network elements to provision to complete the service request and one or more network resources of the communication network required to complete the service request. The method includes retrieving a configuration profile for each of the plurality of network elements and reserving the one or more network resources of the communication network required to complete the service request. The method also includes preparing a service template for each of the plurality of network elements using the configuration profile for each of the plurality of network elements. The service templates are capable of being delivered to respective network elements for execution. The method also includes delivering each service template to a respective network element for execution to fulfill the service order.
Even though this method reduces the service deployment failure rate, there is still a risk that such failures occur, for instance because of conflicting service templates being issued as there is no way of detecting if a resource has already been reserved by a service yet to be deployed, such that upon the attempted execution of the service template, the requested resource may no longer be available, e.g. because of the prior execution of a conflicting service template or the scheduled resource having been consumed in another way.